Inheritance diagram for I3DShShader:

Public Member Functions | |
| virtual void MCCOMAPI | Clone (I3DShShader **clone, ECloneMode mode) const =0 |
| virtual boolean MCCOMAPI | IsConstant ()=0 |
| virtual boolean MCCOMAPI | AssignsChannels ()=0 |
| virtual void MCCOMAPI | GetShadingFlags (ShadingFlags &theFlags)=0 |
| virtual boolean MCCOMAPI | HasExplicitLightingModel (const LightingContext &lightingContext)=0 |
| virtual void MCCOMAPI | ShadeAndLight (LightingDetail &result, const LightingContext &lightingContext)=0 |
| virtual void MCCOMAPI | DoShade (ShadingOut &result, ShadingIn &shadingIn)=0 |
| virtual real MCCOMAPI | GetValue (real &result, boolean &fullArea, ShadingIn &shadingIn)=0 |
| virtual real MCCOMAPI | GetColor (TMCColorRGBA &result, boolean &fullArea, ShadingIn &shadingIn)=0 |
| virtual real MCCOMAPI | GetVector (TVector3 &result, ShadingIn &shadingIn)=0 |
| virtual void MCCOMAPI | GetReflection (TReflectionParameters &reflectionParams, const ShadingIn &shadingIn)=0 |
| virtual void MCCOMAPI | GetTransparency (TTransparencyParameters &transparencyParams, const ShadingIn &shadingIn)=0 |
| virtual void MCCOMAPI | GetBump (TVector3 &result, ShadingIn &shadingIn)=0 |
| virtual EShaderOutput MCCOMAPI | GetImplementedOutput () const =0 |
| virtual MCCOMErr MCCOMAPI | GetOriginalParametricTextureMap (const uint32 &uvSpaceID, const uint32 &channelIndex, IShTextureMap **outMap)=0 |
| virtual IShParameterComponent *MCCOMAPI | GetTransformComponent ()=0 |
| virtual boolean MCCOMAPI | GetSubShaderPreview (IShParameterComponent **shader, IShParameterComponent *subShader, FourCharT subShaderKeyword)=0 |
| virtual void MCCOMAPI | GetShaderPreview (IShParameterComponent **shader)=0 |
| virtual EShaderFunctionType MCCOMAPI | GetSubShaderType (IDType keyword)=0 |
There are two interfaces to access a component: The shell interface (I3DShShader) and the external interface (I3DExShader) . You can get one from the other using QueryInterface.
Whenever it is possible you should use the Shell interface (I3DShShader) to access the component because the Shell will make sure that the parameter map of the external component is valid. This is especially important if the component is animated. For more information on components see the Overview of the SDK.
|
|
Should returns true if DoShade is implemented. |
|
||||||||||||
|
Makes a copy of a shader and its sub shaders.
|
|
||||||||||||
|
Returns the shading for a given point.
|
|
||||||||||||
|
|
|
||||||||||||||||
|
Returns the value of the shading function at a given point.
|
|
|
Returns a bit field that determines which methods are implemented by this shading function. |
|
||||||||||||||||
|
Returns a texture map if there is one for a given channel (Color, Alpha, Transparency...)
|
|
||||||||||||
|
Returns the parameters used to calculate the reflection. This function is only called if the shader is placed in the reflection channel of a multichannel.
|
|
|
Creates a shader that can be used to preview this shader.
|
|
|
Returns the ShadingFlags associated with this shader.
|
|
||||||||||||||||
|
Creates a shader that can be used to preview one of the subshader.
|
|
|
Get the type of a sub shader.
|
|
|
Returns a pointer to the transform component that defines the 3D transform of the shader.
|
|
||||||||||||
|
Returns the parameters used to calculate the transparency. This function is only called if the shader is placed in the transparency channel of a multichannel.
|
|
||||||||||||||||
|
Returns the value of the shading function at a given point.
|
|
||||||||||||
|
Returns a pertubation of the normal in local coordinates
|
|
|
**************************************************************************** HasExplicitLightingModel Returns true if there is an explicit lighting model in the subtree. This is mostly used for layer lists to determine if DoShade or ShadeAndLight should be called on the layer.
|
|
|
Returns true if the shader has a constant result (to optimize things like Value and Color shaders). |
|
||||||||||||
|
Calculates the shading and lighting in one point
|
1.4.5